import re
from typing import AnyStr, TypedDict, List, Dict
from datetime import datetime, timedelta


def process_time_and_insert(original_time_str, add_seconds: float):
    """
    正则方案实现时间处理并插入数据库
    :param original_time_str: 原始时间字符串（示例：2025-03-14T10:15:15.9598306+08:00）
    :param add_seconds: 需添加的秒数（示例：132.833）
    """
    # 使用正则提取日期和时间部分（精确匹配到秒）
    pattern = r"(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})"
    match = re.search(pattern, original_time_str)

    if not match:
        raise ValueError("无效的时间格式")

    # 组合成可解析的字符串
    datetime_str = f"{match.group(1)} {match.group(2)}"

    # 转换为无时区datetime对象（假设原始时间已是北京时间）
    base_time = datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")

    # 秒数取整处理（直接舍去小数）
    add_seconds_int = int(add_seconds)

    # 计算新时间
    new_time = base_time + timedelta(seconds=add_seconds_int)

    # 格式化为数据库字符串
    db_time_str = new_time.strftime("%Y-%m-%d %H:%M:%S")

    print(f"插入时间: {db_time_str}")

process_time_and_insert('2025-03-14T10:15:15.9598306+08:00', 12.676)